/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package trabalho;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Felipe
 */
public class FacadeDocumentos {
    
    public ArrayList<Documento> getCacm(String cacmPath){
        ArrayList<Documento> documentos = null;
        ArrayList<String> docs = null;
        ArrayList<String> docsMerge = null;
        String aux;
        
        try {

            documentos = new ArrayList<Documento>();
            
            Scanner scanner = new Scanner(new FileReader(cacmPath)).useDelimiter("-->I ");
            while (scanner.hasNext()){
                Documento documento = new Documento();
                
                String aDividir = scanner.next();
                String[] aDividir2 = aDividir.split("-->T");
                documento.setIdentificador(Integer.parseInt(aDividir2[0].replace(" ", "").replace("\n", "")));
                String[] aDividir3 = aDividir2[1].split("-->W");
                String[] aDividir4;
                if(aDividir3.length==2){
                    documento.setTitulo(aDividir3[0].replace("\n", ""));
                    aDividir4 = aDividir3[1].split("-->B");
                    documento.setConteudo(aDividir4[0].replace("\n", ""));
                }
                else{
                    aDividir4 = aDividir2[1].split("-->B");
                    documento.setTitulo(aDividir4[0].replace("\n", ""));
                }
                
                String[] aDividir5 = aDividir4[1].split("-->A");
                String[] aDividir6;
                if(aDividir5.length==2){
                    documento.setPublicadoEm(aDividir5[0].replace("\n", ""));
                    aDividir6 = aDividir5[1].split("-->N");
                    documento.setAutor(aDividir6[0].replace("\n", ""));
                }
                else{
                    aDividir6 = aDividir4[1].split("-->N");
                    documento.setPublicadoEm(aDividir6[0].replace("\n", ""));
                }
                
                String[] aDividir7 = aDividir6[1].split("-->X");
                documento.setData(aDividir7[0].replace("\n", ""));
                documento.setX(aDividir7[1].replace("\n", ""));
                
                documentos.add(documento);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Trabalho.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return documentos;
    }
    
    public ArrayList<Documento> getCram(String cramPath){
        ArrayList<Documento> documentos = null;
        
        try {

            documentos = new ArrayList<Documento>();
            
            Scanner scanner = new Scanner(new FileReader(cramPath)).useDelimiter(".I");
            while (scanner.hasNext()) {
              
                Documento documento = new Documento();
                
                String aDividir = scanner.next();
                String[] aDividir2 = aDividir.split(".T");
                documento.setIdentificador(Integer.parseInt(aDividir2[0].replace(" ", "").replace("\n", "")));
                String[] aDividir3 = aDividir2[1].split(".A");
                documento.setTitulo(aDividir3[0].replace("\n", ""));
                String[] aDividir4 = aDividir3[1].split(".B");
                documento.setAutor(aDividir4[0].replace("\n", ""));
                String[] aDividir5 = aDividir4[1].split(".W");
                documento.setPublicadoEm(aDividir5[0].replace("\n", ""));
                documento.setConteudo(aDividir5[1].replace("\n", ""));
             
                documentos.add(documento);
            }
            
        
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Trabalho.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return documentos;
    }    
    
    
}
